package com.lmx.project.service;

import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

//@Service
public interface FileService {
    /**
     *
     * */

    public String printstring();


    void saveFileFromInputStream(InputStream inputStream, String path) throws IOException;


    /**
     * 移动文件
     */

    public void moveFile(String oldpath, String newpath) throws IOException;


    /**
     * 获取随机的文件名字
     */
    public String getFilename(MultipartFile image) ;

    /**
     * 获取前缀地址
     */
    public String getPreurl();

    /**
     * 删除文件列表
     */
    public void removeFileList(List<String> collect);

    /**
     * 判断是否是图片,jpg/png图片
     */
    public boolean isImage(InputStream inputStream) throws IOException;

    /**
     * 判断是否是视频文件
     */
    public boolean isVideo(InputStream inputStream) throws IOException ;


    /**
     * 使用文件名判断是否是视频文件
     */
    public boolean isVideoFileByFilename(String fileName);

//    private String bytesToHex(byte[] bytes);

    /**
     * 保存MultipartFile类型的文件
     */

    public String saveMultipartFile(MultipartFile file, String dir);




    /**
     * 删除文件
     */
    @Async
    public void removeFile(String path);

    /**
     * 保存文件，绝对路径
     */
    @Async
    public void saveFile(InputStream inputStream, String absolutePath) throws IOException;

    public String getPre();

}
